#include<bits/stdc++.h>
using namespace std;
#define int long long

int f[100005];
int v[105], w[105];

bool vis[105];

signed main() {
	int n, t, k;
	cin >> n >> t >> k;
	for (int i = 1; i <= n; i++)
		cin >> v[i] >> w[i];

	// 完全背包板子
	for (int i = 1; i <= n; i++)
		// 假设已经有一块大奶酪，可等价为容量 * 5 / 4
		for (int j = w[i]; j <= t * 5 / 4; j++)
			f[j] = max(f[j], f[j - w[i]] + v[i]);

	// 如果没有大奶酪
	int ans = f[t];

	for (int i = 1; i <= n; i++)
		// 枚举唯一的大奶酪
		if (w[i] >= k)
			// 有大奶酪后，小奶酪要缩小，价值对应缩小前的
			ans = max(ans, f[(t - w[i]) * 5 / 4] + v[i]);

	cout << ans;

	return 0;
}
